package com.xiaoshuidi.cloud.module.bpm.controller.admin.swo.vo;


import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.xiaoshuidi.cloud.module.bpm.convert.MyLocalDateTimeConverter;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
import com.alibaba.excel.annotation.ExcelProperty;

/**
 * wo 服务工单申请 Excel VO
 *
 * @author 芋道源码
 */
@Data
public class SwoTicketExcelVO {

    @ExcelProperty("维修单号")
    private String woNumber;

    @ExcelProperty("维修区域")
    private String maintenanceFlag;

    @ExcelProperty("门店")
    private String apartmentName;

    @ExcelProperty("租客房间全名")
    private String roomFullName;

    @ExcelProperty("租客姓名")
    private String customerName;

    @ExcelProperty("租客手机号")
    private String customerMobile;

    @ExcelProperty("工单来源")
    private String source;

    @ExcelProperty("服务类型")
    private String serviceType;

    @ExcelProperty("开始服务日期")
    @DateTimeFormat("yyyy.MM.dd HH:mm")
    private LocalDateTime serviceTimeStart;

    @ExcelProperty("结束服务日期")
    @DateTimeFormat("yyyy.MM.dd HH:mm")
    private LocalDateTime serviceTimeEnd;

    @ExcelProperty("期望上门服务日期")
    @DateTimeFormat("yyyy.MM.dd")
    private LocalDate serviceTobeCompleted;

    @ExcelProperty("完成时间")
    @DateTimeFormat("yyyy.MM.dd HH:mm")
    private LocalDateTime completeTime;

    @ExcelProperty("责任方")
    private String responsibleParty;

    @ExcelProperty("服务主题")
    private String topic;

    @ExcelProperty("服务内容")
    private String content;

    @ExcelProperty("附件")
    private String attachments;

    @ExcelProperty("跟进人姓名")
    private String assigneeName;

    @ExcelProperty("状态")
    private String processStatus;

    @ExcelProperty(value = "创建时间")
    @DateTimeFormat("yyyy.MM.dd HH:mm")
    private LocalDateTime createTime;

    /**
     * 第一次指派时间,管家/店长受理时间
     */
    @ExcelProperty(value = "维修受理时间")
    private LocalDateTime firstAssignmentTime;

    /**
     * 实际受理时间
     */
    @ExcelProperty(value = "维修进场时间")
    private LocalDateTime actualProcessingTime;

    /**
     * 留空，用户导出excel后自己填
     */
    @ExcelProperty(value = "负责人")
    private String ResponsiblePerson;

    @ExcelProperty(value = "维修类型")
    private String repairType;

    @ExcelProperty(value = "报修人")
    private String creator;

    @ExcelProperty(value = "受理人")
    private String acceptee;

    /**
     * 是否有偿维修：0：免费；1：收费
     */
    @ExcelProperty(value = "是否属于有偿服务")
    private String needPay;

    @ExcelProperty(value = "有偿维修服务金额（元）")
    private BigDecimal amountOfRepairs;

    @ExcelProperty(value = "维修时长（小时）")
    private String durationOfRepairs;

    @ExcelProperty(value = "租客评分")
    private Integer rating;

    @ExcelProperty(value = "租客评价")
    private String comments;
}
